package org.charles.zhifou.model.dto.question;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;

/**
 * AI 生成题目请求
 *
 * @author Charles
 * @version 1.0
 */
@Data
public class AiGenerateQuestionRequest implements Serializable {

    @Schema(description = "应用 id")
    @NotNull(message = "应用 id 不能为空")
    @Min(value = 1, message = "应用 id 必须大于 0")
    private Long appId;

    @Schema(description = "题目数")
    @NotNull(message = "题目数不能为空")
    @Min(value = 1, message = "题目数必须大于等于 1")
    @Max(value = 10, message = "题目数必须小于等于 10")
    private Integer questionNumber = 10;

    @Schema(description = "选项数")
    @NotNull(message = "选项数不能为空")
    @Min(value = 2, message = "选项数必须大于等于 2")
    @Max(value = 6, message = "选项数必须小于等于 6")
    private Integer optionNumber = 2;

    @Serial
    private static final long serialVersionUID = 1L;
}
